home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / ISSUE10 / CLINIC / READFRMU.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1996-04-20  |  2.1 KB  |  99 lines

  1. unit Readfrmu;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, ExtCtrls;
  8.  
  9. type
  10.   TFormReader = class(TForm)
  11.     Panel1: TPanel;
  12.     Button1: TButton;
  13.     FormDescription: TMemo;
  14.     Button2: TButton;
  15.     Button3: TButton;
  16.     procedure Button1Click(Sender: TObject);
  17.     procedure Button2Click(Sender: TObject);
  18.     procedure Button3Click(Sender: TObject);
  19.   private
  20.     { Private declarations }
  21.   public
  22.     { Public declarations }
  23.   end;
  24.  
  25. var
  26.   FormReader: TFormReader;
  27.  
  28. const
  29.   FormFile = 'ReadFrmU.Dfm';
  30.   TextFile = 'ReadFrmU.Txt';
  31.  
  32. implementation
  33.  
  34. uses
  35.   Consts;
  36.  
  37. {$R *.DFM}
  38.  
  39. procedure TFormReader.Button1Click(Sender: TObject);
  40. var
  41.   InStream,
  42.   OutStream: TFileStream;
  43. begin
  44.   InStream := TFileStream.Create(FormFile, fmOpenRead);
  45.   try
  46.     OutStream := TFileStream.Create(TextFile, fmCreate);
  47.     try
  48.       { Translate form file to text file }
  49.       ObjectResourceToText(InStream, OutStream);
  50.     finally
  51.       OutStream.Free;
  52.     end;
  53.   finally
  54.     InStream.Free;
  55.   end;
  56.   FormDescription.Lines.LoadFromFile(TextFile);
  57. end;
  58.  
  59. procedure TFormReader.Button2Click(Sender: TObject);
  60. var
  61.   InStream: {$ifdef VER80}THandleStream{$else}
  62.                           TResourceStream{$endif};
  63.   OutStream: TFileStream;
  64. begin
  65. {$ifdef VER80}
  66.   InStream := THandleStream.Create(AccessResource(HInstance,
  67.     FindResource(HInstance, 'TFormReader', rt_RCData)));
  68. {$else}
  69.   InStream := TResourceStream.Create(HInstance, 'TFormReader', rt_RCData);
  70. {$endif}
  71.   try
  72. {$ifdef VER80}
  73.     if InStream.Handle = 0 then
  74.       raise EResNotFound.CreateResFmt(SResNotFound, [ClassName]);
  75. {$endif}
  76.     try
  77.       OutStream := TFileStream.Create(TextFile, fmCreate);
  78.       try
  79.       { Translate a resource to text file }
  80.         ObjectBinaryToText(InStream, OutStream);
  81.       finally
  82.         OutStream.Free;
  83.       end;
  84.     finally
  85.       InStream.Free;
  86.     end;
  87.   finally
  88.     FileClose(Handle);
  89.   end;
  90.   FormDescription.Lines.LoadFromFile(TextFile);
  91. end;
  92.  
  93. procedure TFormReader.Button3Click(Sender: TObject);
  94. begin
  95.   FormDescription.Lines.Clear;
  96. end;
  97.  
  98. end.
  99.